<?php

    class Avaliacao extends CI_Controller{
        
        function index (){
            $this->estaLogado();
            redirect('avaliacao/listarAvaliacoes');
        }

        function estaLogado(){
            $id = $this->session->userdata('pessoa_id');
            if(empty($id)){
                redirect('pessoa/login');
            }else{
                $this->temAvaliacoes($id);
            }
        }
        
        function temAvaliacoes($id){
            $this->load->model('pessoaModel');
            $aval = $this->pessoaModel->temAvaliacoes($id);
            $this->session->set_userdata('avaliacoes', $aval);
            return true;
        }
        
        function cadastrarAvaliacao(){
            $this->estaLogado();
            $this->load->model('pessoaModel');
            
            $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            
            $this->load->view('avaliacao/cadastrarAvaliacao', $dados);
        }
        
        function cadastrandoAvaliacao(){
            $this->estaLogado();
            $this->load->model('avaliacaoModel');
            
            $dados['avaliado'] = $this->input->post('avaliado');
            //$add['avaliado_id'] = $dados['avaliado'];
            $avaliadores = $this->input->post('membros');
            foreach ($avaliadores as $avaliador){
                $dados['avaliador'] = $this->avaliacaoModel->converteNomeParaId($avaliador);
                //$add['avaliador_id'] = $dados['avaliador'];
                $add['avaliacao_id'] = $this->avaliacaoModel->cadastrarAvaliacao($dados);
                //$this->avaliacaoModel->delegaAvaliacaoMembro($add);
            }
            
            redirect('avaliacao/listarAvaliacoes');
        }
        
        function excluirAvaliacao(){
            $this->load->model('avaliacaoModel');
            $id = $this->uri->segment(3);
            
            $this->avaliacaoModel->excluirAvaliacao($id);
            return true;
        }
        
        function listarAvaliacoes(){
            $this->estaLogado();
            $this->load->model('avaliacaoModel');
            $this->load->model('pessoaModel');
            
            $dados['avaliacoes'] = $this->avaliacaoModel->getAvaliacoes();
            foreach($dados['avaliacoes'] as $avaliacao){
                $avaliacao->avaliado = $this->pessoaModel->getNomeMembro($avaliacao->avaliado);
                $avaliacao->avaliador = $this->pessoaModel->getNomeMembro($avaliacao->avaliador);
            }
            $this->load->view('avaliacao/listarAvaliacoes', $dados);
        }
        
        function avaliacoesMembroFazer(){
            $this->estaLogado();
            $this->load->model('avaliacaoModel');
            $this->load->model('pessoaModel');
            $id = $this->session->userdata('pessoa_id');
            $submenu = array( 
                0 => array('nome' => 'Meus Pontos', 'link' => 'pessoa/pontosMembro'),
                1 => array('nome' => 'Avaliações', 'link' => 'avaliacao/avaliacoesMembroFazer'),
                2 => array('nome' => 'Minha Diretoria', 'link' => 'diretoria/listarMembrosDiretoria')
            );
            
            $dados['avaliacoes'] = $this->avaliacaoModel->getAvaliacoesMembroFazer($id);
            foreach ($dados['avaliacoes'] as $avaliacao){
                $avaliacao->membro = $this->pessoaModel->getNomeMembro($avaliacao->avaliado);
            }
            
            $this->load->view('avaliacao/avaliacaoMembroFazer',$dados);
        }
        
        function realizarAvaliacao(){
            $this->estaLogado();
            $this->load->model('avaliacaoModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            $dados['avaliacao'] = $this->avaliacaoModel->getAvaliacao($id);
            $dados['avaliado'] = $this->pessoaModel->getMembro($dados['avaliacao']->avaliado);
            $dados['avaliado']->diretoria = $this->pessoaModel->getDiretoriaMembro($dados['avaliado']->Diretoria_id);
            $dados['avaliado']->nucleo = $this->pessoaModel->getNucleoMembro($dados['avaliado']->Nucleo_id);
            $dados['avaliado']->cargo = $this->pessoaModel->getCargoMembro($dados['avaliado']->cargo_id);
            
            $this->load->view('avaliacao/realizarAvaliacao', $dados);
        }
        
        function comentario(){
            $dados['nome'] = $this->input->post('nome');
            $dados['dado'] = $this->input->post('dado');
            $this->load->view('avaliacao/comentario', $dados);
        }
        
        function realizandoAvaliacao(){
            $this->load->model('avaliacaoModel');
            
            $dados['id'] = $this->input->post('id');
            $dados['qual_c'] = $this->input->post('qualidadeC');
            $dados['qual_n'] = $this->input->post('qualidadeN');
            $dados['prod_c'] = $this->input->post('produtividadeC');
            $dados['prod_n'] = $this->input->post('produtividadeN');
            $dados['pro_c'] = $this->input->post('proatividadeC');
            $dados['pro_n'] = $this->input->post('proatividadeN');
            $dados['prazo_c'] = $this->input->post('prazosC');
            $dados['prazo_n'] = $this->input->post('prazosN');
            $dados['email_c'] = $this->input->post('emailsC');
            $dados['email_n'] = $this->input->post('emailsN');
            $dados['rela_c'] = $this->input->post('relacionamentoC');
            $dados['rela_n'] = $this->input->post('relacionamentoN');
            $dados['coop_c'] = $this->input->post('cooperacaoC');
            $dados['coop_n'] = $this->input->post('cooperacaoN');
            $dados['prof_c'] = $this->input->post('profissionalismoC');
            $dados['prof_n'] = $this->input->post('profissionalismoN');
            $dados['media'] = $this->input->post('media');
            $dados['feita'] = 1;
            
            $this->avaliacaoModel->editarAvaliacao($dados);
            
            redirect('avaliacao/avaliacaoMembroFazer/'.$this->session->userdata('pessoa_id'));
        }
        
        function verAvaliacao(){
            $this->load->model('avaliacaoModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            $dados['avaliacao'] = $this->avaliacaoModel->getAvaliacao($id);
            $dados['avaliador'] = $this->pessoaModel->getMembro($dados['avaliacao']->avaliador);
            $dados['avaliador']->diretoria = $this->pessoaModel->getDiretoriaMembro($dados['avaliador']->Diretoria_id);
            $dados['avaliador']->cargo = $this->pessoaModel->getCargoMembro($dados['avaliador']->cargo_id);
            $dados['avaliado'] = $this->pessoaModel->getMembro($dados['avaliacao']->avaliado);
            $dados['avaliado']->diretoria = $this->pessoaModel->getDiretoriaMembro($dados['avaliado']->Diretoria_id);
            $dados['avaliado']->cargo = $this->pessoaModel->getCargoMembro($dados['avaliado']->cargo_id);
            
            $this->load->view('avaliacao/verAvaliacao',$dados);
        }
    }
?>
